home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / LockGame / LockGame.jar / LockGame.class (.txt) < prev   
Encoding:
Java Class File  |  2001-02-07  |  4.2 KB  |  258 lines

  1. import java.io.IOException;
  2. import java.util.Random;
  3. import javax.microedition.lcdui.Command;
  4. import javax.microedition.lcdui.CommandListener;
  5. import javax.microedition.lcdui.Display;
  6. import javax.microedition.lcdui.Displayable;
  7. import javax.microedition.lcdui.Image;
  8. import javax.microedition.midlet.MIDlet;
  9.  
  10. public class LockGame extends MIDlet implements CommandListener, Runnable {
  11.    public static final int NULL = -1;
  12.    private Thread thread;
  13.    private Random rand = new Random();
  14.    private Command cmdExit = new Command("Exit", 1, 2);
  15.    private LockCanvas canvas = new LockCanvas();
  16.    private int command;
  17.    static int btnflag;
  18.    static String line;
  19.  
  20.    public LockGame() {
  21.       this.init();
  22.       this.canvas.addCommand(this.cmdExit);
  23.       this.canvas.setCommandListener(this);
  24.       Display.getDisplay(this).setCurrent(this.canvas);
  25.    }
  26.  
  27.    public void checkAction() {
  28.       switch (this.canvas.action) {
  29.          case -5:
  30.             btnflag = 100;
  31.          case 48:
  32.          default:
  33.             break;
  34.          case 49:
  35.             btnflag = 1;
  36.             break;
  37.          case 50:
  38.             btnflag = 2;
  39.             break;
  40.          case 51:
  41.             btnflag = 3;
  42.             break;
  43.          case 52:
  44.             btnflag = 4;
  45.             break;
  46.          case 53:
  47.             btnflag = 5;
  48.             break;
  49.          case 54:
  50.             btnflag = 6;
  51.             break;
  52.          case 55:
  53.             btnflag = 7;
  54.             break;
  55.          case 56:
  56.             btnflag = 8;
  57.             break;
  58.          case 57:
  59.             btnflag = 9;
  60.       }
  61.  
  62.       this.canvas.action = 0;
  63.    }
  64.  
  65.    public void commandAction(Command var1, Displayable var2) {
  66.       if (var1 == this.cmdExit) {
  67.          this.destroyApp(false);
  68.          ((MIDlet)this).notifyDestroyed();
  69.       }
  70.  
  71.    }
  72.  
  73.    public void destroyApp(boolean var1) {
  74.       LockCanvas.gameflag = 0;
  75.       this.canvas.action = -1;
  76.    }
  77.  
  78.    public void gameAction() {
  79.       switch (btnflag) {
  80.          case 0:
  81.          case 1:
  82.          case 3:
  83.          case 7:
  84.          case 9:
  85.          case 100:
  86.          case 101:
  87.          default:
  88.             break;
  89.          case 2:
  90.             if (LockCanvas.gameflag == 1) {
  91.                LockCanvas.upDown = 1;
  92.                int var1 = LockCanvas.input[LockCanvas.leftRight]++;
  93.                if (LockCanvas.input[LockCanvas.leftRight] > 9) {
  94.                   LockCanvas.input[LockCanvas.leftRight] = 0;
  95.                }
  96.             }
  97.             break;
  98.          case 4:
  99.             if (LockCanvas.gameflag == 1) {
  100.                --LockCanvas.leftRight;
  101.                if (LockCanvas.leftRight < 0) {
  102.                   LockCanvas.leftRight = 0;
  103.                }
  104.             }
  105.             break;
  106.          case 5:
  107.             if (LockCanvas.gameflag == 0) {
  108.                LockCanvas.gameflag = 1;
  109.             } else if (LockCanvas.gameflag == 1) {
  110.                LockCanvas.chflag = 1;
  111.             } else if (LockCanvas.gameflag == 2) {
  112.                LockCanvas.gameflag = 0;
  113.             } else if (LockCanvas.gameflag == 3) {
  114.                LockCanvas.gameflag = 0;
  115.             }
  116.             break;
  117.          case 6:
  118.             if (LockCanvas.gameflag == 1) {
  119.                ++LockCanvas.leftRight;
  120.                if (LockCanvas.leftRight > 3) {
  121.                   LockCanvas.leftRight = 3;
  122.                }
  123.             }
  124.             break;
  125.          case 8:
  126.             if (LockCanvas.gameflag == 1) {
  127.                LockCanvas.upDown = 2;
  128.                int var10002 = LockCanvas.input[LockCanvas.leftRight]--;
  129.                if (LockCanvas.input[LockCanvas.leftRight] < 0) {
  130.                   LockCanvas.input[LockCanvas.leftRight] = 9;
  131.                }
  132.             }
  133.       }
  134.  
  135.       btnflag = 0;
  136.    }
  137.  
  138.    public void gameMain() {
  139.       boolean[] var4 = new boolean[10];
  140.       switch (LockCanvas.gameflag) {
  141.          case 0:
  142.             LockCanvas.chcnt = 0;
  143.  
  144.             for(int var7 = 0; var7 < 4; ++var7) {
  145.                int var3;
  146.                do {
  147.                   var3 = this.rand(0, 9);
  148.                } while(var4[var3]);
  149.  
  150.                LockCanvas.data[var7] = var3;
  151.                var4[var3] = true;
  152.             }
  153.  
  154.             for(int var8 = 0; var8 < 4; ++var8) {
  155.                LockCanvas.input[var8] = 0;
  156.             }
  157.  
  158.             for(int var9 = 0; var9 < 5; ++var9) {
  159.                for(int var11 = 0; var11 < 4; ++var11) {
  160.                   LockCanvas.dlist[var9][var11] = 0;
  161.                }
  162.  
  163.                LockCanvas.ds[var9] = 0;
  164.                LockCanvas.dh[var9] = 0;
  165.             }
  166.  
  167.             for(int var10 = 0; var10 < 10; ++var10) {
  168.                LockCanvas.no[var10] = 1 + var10;
  169.  
  170.                for(int var12 = 0; var12 < 4; ++var12) {
  171.                   LockCanvas.list[var10][var12] = 0;
  172.                }
  173.  
  174.                LockCanvas.s[var10] = 0;
  175.                LockCanvas.h[var10] = 0;
  176.             }
  177.             break;
  178.          case 1:
  179.             if (LockCanvas.chflag == 1) {
  180.                if (LockCanvas.chcnt < 9) {
  181.                   for(int var1 = 0; var1 < 4; ++var1) {
  182.                      LockCanvas.list[LockCanvas.chcnt][var1] = LockCanvas.input[var1];
  183.                   }
  184.  
  185.                   for(int var5 = 0; var5 < 4; ++var5) {
  186.                      for(int var2 = 0; var2 < 4; ++var2) {
  187.                         if (LockCanvas.data[var5] == LockCanvas.input[var2]) {
  188.                            int var10002 = LockCanvas.h[LockCanvas.chcnt]++;
  189.                         }
  190.                      }
  191.                   }
  192.  
  193.                   for(int var6 = 0; var6 < 4; ++var6) {
  194.                      if (LockCanvas.data[var6] == LockCanvas.input[var6]) {
  195.                         int var13 = LockCanvas.s[LockCanvas.chcnt]++;
  196.                         var13 = LockCanvas.h[LockCanvas.chcnt]--;
  197.                      }
  198.                   }
  199.  
  200.                   if (LockCanvas.s[LockCanvas.chcnt] == 4) {
  201.                      LockCanvas.gameflag = 2;
  202.                   }
  203.                } else {
  204.                   LockCanvas.gameflag = 3;
  205.                }
  206.  
  207.                ++LockCanvas.chcnt;
  208.             }
  209.  
  210.             LockCanvas.chflag = 0;
  211.          case 2:
  212.          case 3:
  213.       }
  214.  
  215.    }
  216.  
  217.    public void init() {
  218.       this.command = -1;
  219.       btnflag = 0;
  220.  
  221.       try {
  222.          LockCanvas.pict[0] = Image.createImage("/key.gif");
  223.       } catch (IOException var1) {
  224.       }
  225.  
  226.    }
  227.  
  228.    public void pauseApp() {
  229.    }
  230.  
  231.    private int rand(int var1, int var2) {
  232.       return (this.rand.nextInt() >>> 1) % (var2 - var1) + var1;
  233.    }
  234.  
  235.    public void run() {
  236.       while(true) {
  237.          try {
  238.             Thread.sleep(10L);
  239.          } catch (InterruptedException var1) {
  240.          }
  241.  
  242.          this.checkAction();
  243.          this.gameAction();
  244.          this.gameMain();
  245.          this.canvas.repaint();
  246.       }
  247.    }
  248.  
  249.    public void setCommand(int var1) {
  250.       this.command = var1;
  251.    }
  252.  
  253.    public void startApp() {
  254.       this.thread = new Thread(this);
  255.       this.thread.start();
  256.    }
  257. }
  258.